package org.example.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.example.pojo.DApartment;
import com.baomidou.mybatisplus.extension.service.IService;
import org.example.pojo.DApartmentType;
import org.example.pojo.DAsset;
import org.example.pojo.select.DApartmentSelect;
import org.example.utils.Result;

import java.util.List;
import java.util.Map;

/**
* @author chenhongkai
* @description 针对表【d_apartment】的数据库操作Service
* @createDate 2024-03-06 16:58:19
*/
public interface DApartmentService extends IService<DApartment> {

    Result<Map> SelectAllApartmentStaffs(DApartmentSelect dApartmentSelect);

    Result<DApartment> SelectOneApartmentStaffs(DApartmentSelect dApartmentSelect);

    Result<DApartment> updateApartment(DApartment dApartment);
    Result<Map> SelectApartmentTypeApi(DApartment dApartment);

    public Result<Integer> SelectVacancyByApartmentId(DApartment dApartment);

    public Result<Map> AddApartments(DApartmentSelect dApartmentSelect);

    public Result<Map> DeleteApartment(DApartment dApartment);

    Result<Map> StaticApartment();

    public Result<Map> SyncVacancy();

    public Result<List<DApartmentType> > SelectApartmentType();

    public Result<List<DAsset>> SelectAssetByApartmentId(DAsset DAsset);

    public Result<List<DAsset>> AddAsset(List<DAsset> dAssets);

    public Result<List<DAsset>> DeleteAsset(List<DAsset> dAssets);

    public Result<List<DAsset>> UpdateAsset(List<DAsset> dAssets);

    public Result<List<DApartment>> SelectApartmentInfo();

    public Result<List<Map>> GetApartmentAnalyze(DApartment dApartment);

    public Result<Map> GetApartmentTrend();

    public Result<Map> GetVacancyTotal(DApartment dApartment);
}
